package com.mathmodeling.dto;

/**
 * 统一错误码常量类
 * 严格按照API文档规范定义
 */
public class ErrorCode {
    
    /**
     * 操作成功
     */
    public static final int SUCCESS = 200;
    
    /**
     * 未授权（未登录或Token过期）
     */
    public static final int UNAUTHORIZED = 401;
    
    /**
     * 参数错误（如日期格式错误、文件格式不符）
     */
    public static final int BAD_REQUEST = 400;
    
    /**
     * 权限不足（如学生调用管理员接口）
     */
    public static final int FORBIDDEN = 403;
    
    /**
     * 资源不存在（如竞赛ID无效）
     */
    public static final int NOT_FOUND = 404;
    
    /**
     * 服务端异常
     */
    public static final int INTERNAL_SERVER_ERROR = 500;
    
    /**
     * 获取错误码对应的说明
     */
    public static String getDescription(int code) {
        switch (code) {
            case SUCCESS:
                return "操作成功";
            case UNAUTHORIZED:
                return "未授权（未登录或Token过期）";
            case BAD_REQUEST:
                return "参数错误（如日期格式错误、文件格式不符）";
            case FORBIDDEN:
                return "权限不足（如学生调用管理员接口）";
            case NOT_FOUND:
                return "资源不存在（如竞赛ID无效）";
            case INTERNAL_SERVER_ERROR:
                return "服务端异常";
            default:
                return "未知错误";
        }
    }
} 